package com.android.controller;

/**
 * Game Set Class - Creates a game set for a specific player. It contains 
 * player's ID, total score, current score, hints used.
 * 
 * @author David Alban
 * @version 1.0 
 */
public class PlayerGameInfo
{
	/**
	 * String representation of the player's ID 
	 */
	private String playerID;
	/**
	 * Player's mode: 
	 * false = Drawer,
	 * true	 = Guesser
	 */
	private boolean playerMode;
	/**
	 * Number of rounds a player has played
	 */
	private int roundCount;
	/**
	 * Player's round score
	 */
	private int roundScore;
	/**
	 * Player's total score
	 */
	private int totalScore;
	/**
	 * Player's guess time
	 */
	private long guessTime;
	/**
	 * Number of hints used by the player in a round
	 */
	private int hintsUsed;
	
	/**
	 * Constructor - Initializes the word set class.
	 */
	public PlayerGameInfo()
	{
		playerID   = "";
		playerMode = true;
		roundCount = 0;
		roundScore = 0;
		totalScore = 0;
		guessTime  = 0;
		hintsUsed  = 0;
	}
	
	/**
	 * Accessor Method - Returns the player's ID.
	 * @return	playerID		Player's ID
	 */
	public String getPlayerID()
	{
		return playerID;
	}
	
	/**
	 * Accessor Method - Returns the player's mode.
	 * @return	playerMode		Player's mode
	 */
	public boolean getPlayerMode()
	{
		return playerMode;
	}
	
	/**
	 * Accessor Method - Returns the number of rounds a player has played.
	 * @return	roundCount		Number of rounds a player has played
	 */
	public int getRoundCount()
	{
		return roundCount;
	}
	
	/**
	 * Accessor Method - Returns the player's round score.
	 * @return	roundScore		Player's round score
	 */
	public int getRoundScore()
	{
		return roundScore;
	}
	
	/**
	 * Accessor Method - Returns the player's total score.
	 * @return	totalScore		Player's total score
	 */
	public int getTotalScore()
	{
		return totalScore;
	}
	
	/**
	 * Accessor Method - Returns the player's guess time.
	 * @return	guessTime		Player's guess time
	 */
	public long getGuessTime()
	{
		return guessTime;
	}
	
	/**
	 * Accessor Method - Returns the number of hints used by the player in a 
	 * round.
	 * @return	hintsUsed		Number of hints used by the player in a round
	 */
	public int getHintsUsed()
	{
		return hintsUsed;
	}
	
	/**
	 * Modifier Method - Sets the player's ID.	
	 * @param	PlayerID		Player's ID
	 */
	public void setPlayerID(String PlayerID)
	{
		playerID = PlayerID;
	}
	
	/**
	 * Modifier Method - Sets the player's mode.
	 * @param	PlayerMode		Player's mode
	 */
	public void setPlayerMode(boolean PlayerMode)
	{
		playerMode = PlayerMode;
	}
	
	/**
	 * Modifier Method - Sets the number of rounds a player has played.	
	 * @param	RoundCount		Number of rounds a player has played
	 */
	public void setRoundCount(int RoundCount)
	{
		roundCount = RoundCount;
	}
	
	/**
	 * Modifier Method - Sets the player's round score.	
	 * @param	RoundScore		Player's round score
	 */
	public void setRoundScore(int RoundScore)
	{
		roundScore = RoundScore;
	}
	
	/**
	 * Modifier Method - Sets the player's total score.	
	 * @param	TotalScore		Player's total score
	 */
	public void setTotalScore(int TotalScore)
	{
		totalScore = TotalScore;
	}
	
	/**
	 * Modifier Method - Sets the player's guess time.	
	 * @param	GuessTime		Player's guess time
	 */
	public void setGuessTime(long GuessTime)
	{
		guessTime = GuessTime;
	}
	
	/**
	 * Modifier Method - Sets the number of hints used by the player in a 
	 * round.
	 * @param	HintsUsed		Number of hints used by the player in a round
	 */
	public void setHintsUsed(int HintsUsed)
	{
		hintsUsed = HintsUsed;
	}	
}
